package com.woniuxy.woniuhis.service;

import com.github.pagehelper.PageInfo;
import com.woniuxy.woniuhis.entity.Room;


/**
 * 病房的业务接口
 */
public interface RoomService {
    /**
     * 添加一个病房
     *
     * @param room
     */
    void addRoom(Room room);

    /**
     * 更新病房信息（主键必须有）
     *
     * @param room
     */
    void modifyRoom(Room room);

    /**
     * 根据病房的id增加一定数量的床位剩余数（出院或者转院或者转病房）
     *
     * @param roomId 病房id
     * @param amount 增加数量
     */
    void addRoomLastBeds(String roomId, Integer amount);

    /**
     * 根据病房的id减少一定数量的床位剩余数（出院或者转院或者转病房）
     *
     * @param roomId 病房id
     * @param amount 减少数量
     */
    void subRoomLastBeds(String roomId, Integer amount);

    /**
     * 根据病房id查询病房的信息
     *
     * @param roomId 病房id
     * @return 病房所有信息
     */
    Room findRoomById(String roomId);

    /**
     * 根据查询条件返回符合条件的病房集合
     *
     * @param condition 条件
     * @param pageNum   起始页数
     * @param pageSize  每页显示多少
     * @return 病房集合
     */
    PageInfo<Room> findRoomListByCondition(Room condition, Integer pageNum, Integer pageSize);

}
